home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / Pakiet bezpieczenstwa / mini Pentoo LiveCD 2006.1 / mpentoo-2006.1.iso / livecd.squashfs / usr / include / nss / portreg.h < prev    next >
C/C++ Source or Header  |  2006-04-20  |  3KB  |  97 lines

  1. /* ***** BEGIN LICENSE BLOCK *****
  2.  * Version: MPL 1.1/GPL 2.0/LGPL 2.1
  3.  *
  4.  * The contents of this file are subject to the Mozilla Public License Version
  5.  * 1.1 (the "License"); you may not use this file except in compliance with
  6.  * the License. You may obtain a copy of the License at
  7.  * http://www.mozilla.org/MPL/
  8.  *
  9.  * Software distributed under the License is distributed on an "AS IS" basis,
  10.  * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
  11.  * for the specific language governing rights and limitations under the
  12.  * License.
  13.  *
  14.  * The Original Code is the Netscape security libraries.
  15.  *
  16.  * The Initial Developer of the Original Code is
  17.  * Netscape Communications Corporation.
  18.  * Portions created by the Initial Developer are Copyright (C) 1994-2000
  19.  * the Initial Developer. All Rights Reserved.
  20.  *
  21.  * Contributor(s):
  22.  *
  23.  * Alternatively, the contents of this file may be used under the terms of
  24.  * either the GNU General Public License Version 2 or later (the "GPL"), or
  25.  * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
  26.  * in which case the provisions of the GPL or the LGPL are applicable instead
  27.  * of those above. If you wish to allow use of your version of this file only
  28.  * under the terms of either the GPL or the LGPL, and not to allow others to
  29.  * use your version of this file under the terms of the MPL, indicate your
  30.  * decision by deleting the provisions above and replace them with the notice
  31.  * and other provisions required by the GPL or the LGPL. If you do not delete
  32.  * the provisions above, a recipient may use your version of this file under
  33.  * the terms of any one of the MPL, the GPL or the LGPL.
  34.  *
  35.  * ***** END LICENSE BLOCK ***** */
  36.  
  37. /*
  38.  * shexp.h: Defines and prototypes for shell exp. match routines
  39.  * 
  40.  *
  41.  * This routine will match a string with a shell expression. The expressions
  42.  * accepted are based loosely on the expressions accepted by zsh.
  43.  * 
  44.  * o * matches anything
  45.  * o ? matches one character
  46.  * o \ will escape a special character
  47.  * o $ matches the end of the string
  48.  * o [abc] matches one occurence of a, b, or c. The only character that needs
  49.  *         to be escaped in this is ], all others are not special.
  50.  * o [a-z] matches any character between a and z
  51.  * o [^az] matches any character except a or z
  52.  * o ~ followed by another shell expression will remove any pattern
  53.  *     matching the shell expression from the match list
  54.  * o (foo|bar) will match either the substring foo, or the substring bar.
  55.  *             These can be shell expressions as well.
  56.  * 
  57.  * The public interface to these routines is documented below.
  58.  * 
  59.  */
  60.  
  61. #ifndef SHEXP_H
  62. #define SHEXP_H
  63.  
  64. /*
  65.  * Requires that the macro MALLOC be set to a "safe" malloc that will 
  66.  * exit if no memory is available. 
  67.  */
  68.  
  69.  
  70. /* --------------------------- Public routines ---------------------------- */
  71.  
  72.  
  73. /*
  74.  * shexp_valid takes a shell expression exp as input. It returns:
  75.  * 
  76.  *  NON_SXP      if exp is a standard string
  77.  *  INVALID_SXP  if exp is a shell expression, but invalid
  78.  *  VALID_SXP    if exp is a valid shell expression
  79.  */
  80.  
  81. #define NON_SXP -1
  82. #define INVALID_SXP -2
  83. #define VALID_SXP 1
  84.  
  85. SEC_BEGIN_PROTOS
  86.  
  87. extern int PORT_RegExpValid(const char *exp);
  88.  
  89. extern int PORT_RegExpSearch(const char *str, const char *exp);
  90.  
  91. /* same as above but uses case insensitive search */
  92. extern int PORT_RegExpCaseSearch(const char *str, const char *exp);
  93.  
  94. SEC_END_PROTOS
  95.  
  96. #endif
  97.